---
title: "0. Introduction"
---

Welcome! This tutorial demonstrates adding the Apollo Kotlin SDK to an app to communicate with a GraphQL server. In this tutorial you will learn how to:

* Download a schema
* Write queries and mutations to generate the corresponding Kotlin models
* Handle errors and loading states
* Handle pagination
* Authenticate with a backend server
* Use subscriptions to receive real-time updates

The tutorial uses an instance of [Apollo Server](https://www.apollographql.com/docs/apollo-server/) hosted on Heroku, and an [GraphOS Studio Sandbox](https://studio.apollographql.com/sandbox/explorer?endpoint=https%3A%2F%2Fapollo-fullstack-tutorial.herokuapp.com%2Fgraphql) which connects to that server. If you're curious about how to build your own
server, see the [Apollo full-stack tutorial](https://www.apollographql.com/docs/tutorial/introduction/).

All of the code for this tutorial is available [on GitHub](https://github.com/apollographql/apollo-kotlin-tutorial).

## What are you building?

In this tutorial, you'll build an app that allows you to book a seat on a rocket sent to space by [SpaceX](https://www.spacex.com/).

The tutorial uses the following tools and frameworks:

* [Android Studio](https://developer.android.com/studio)
* Kotlin and [Kotlin coroutines](https://kotlinlang.org/docs/coroutines-overview.html)
* [Jetpack Compose](https://developer.android.com/jetpack/compose) and [Navigation Component](https://developer.android.com/guide/navigation/navigation-type-safety) for the UI
* [Coil](https://github.com/coil-kt/coil) for image loading

To focus on the important parts, this tutorial uses a starter project available at [https://github.com/apollographql/apollo-kotlin-tutorial](https://github.com/apollographql/apollo-kotlin-tutorial) so you don't have to deal with project setup and boilerplate.

> If you encounter any issues during the tutorial, feel free to ask questions by either [opening an issue on our GitHub repo](https://github.com/apollographql/apollo-kotlin/issues), [joining the community](http://community.apollographql.com/new-topic?category=Help&tags=mobile,client) or [stopping by our channel in the KotlinLang Slack](https://app.slack.com/client/T09229ZC6/C01A6KM1SBZ)(get your invite [here](https://slack.kotl.in/)).

## Ready to start?

[🚀 Let's go! 🚀](./01-configure-project)
